{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Meta Reinforcement Learning \n",
    "\n",
    "In order to understand how meta reinforcement learning works, first let's understand meta learning. \n",
    "\n",
    "Meta learning is one of the most promising and trending research areas in the field of artificial intelligence. It is believed to be a stepping stone for attaining Artificial General Intelligence (AGI). Why do we need meta learning? But first, what is meta learning? To answer these questions, let us revisit how deep learning works.\n",
    "\n",
    "We know that in deep learning, we train the deep neural network to perform any task. But the problem with the deep neural networks is that we need to have a large training set to train our network and it will fail to learn when we have very few data points. \n",
    "\n",
    "Let's say we trained a deep learning model to perform task A. Suppose, we have a new task B, that is closely related to task A. Although the task B is closely related task A, we can't use the model which we trained for task A to perform task B. We need to train a new model from scratch for task B. So, for each task, we need to train a new model from scratch although they might be related. But is this really a true AI? Not really. How do we humans learn? We generalize our learning to multiple concepts and learn from there. But current learning algorithms master only one task. So, here is where meta learning comes in.\n",
    "\n",
    "Meta learning produces a versatile AI model that can learn to perform various tasks without having to train them from scratch. We train our meta learning model on various related tasks with few data points, so for a new related task, it can make use of the learning obtained from the previous tasks and we don't have to train them from scratch. Many researchers and scientists believe that meta learning can get us closer to achieving AGI. Learning to learn is the key focus of meta learning.\n",
    "\n",
    "\n",
    "__We will understand how exactly meta learning works by learning a popular meta learning algorithm called model agnostic meta learning in the next section.__"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
